package cn.fws.meap.community.mapper;

import cn.fws.meap.community.entity.Problem;
import cn.fws.meap.community.vo.ProblemListVo;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 问题 数据层
 * 
 * @author chenkh
 * @date 2019-03-07
 */
@Mapper
public interface ProblemMapper {
	/**
     * 查询问题信息
     * 
     * @param id 问题ID
     * @return 问题信息
     */
	public Problem selectById(String id);
	
	/**
     * 查询问题列表
     * 
     * @param hotProblem 问题信息
     * @return 问题集合
     */
	public List<ProblemListVo> selectList(@Param("hotProblem") String hotProblem);
	
	/**
     * 新增问题
     * 
     * @param problem 问题信息
     * @return 结果
     */
	public int insert(Problem problem);
	
	/**
     * 修改问题
     * 
     * @param problem 问题信息
     * @return 结果
     */
	public int update(Problem problem);
	
	/**
     * 删除问题
     * 
     * @param id 问题ID
     * @return 结果
     */
	public int deleteById(String id);
	
	/**
     * 批量删除问题
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteByIds(String[] ids);
	/**
	 * 根据ID获取文本资源ID
	 * @param id
	 * @return
	 */
	public String getMsgIdById(String id);

	/**
	 * 获取最新的三条问题数据
	 * @return
	 */
    public List<Problem> selectListNew();

	/**
     * 查询问题详情
     * 
     * @param id 问题ID
     * @return 问题信息
     */
	public ProblemListVo selectProblemById(String id);

	/**
	 * 查询多少点赞多少踩
	 */
	public Map problemEvaluateCount(String id);

	/**
	 * 修改问题是否已解决状态
	 * @param problemId
	 * @param solve
	 * @return
	 */
    int updateSolve(@Param("problemId") String problemId,@Param("solve") String solve);
}